<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../../../print.css" type="text/css" media="print">
<meta content="HStateC,com.flashsim.FStEng.Three.HStateC,numStMgrs,stMgrs,substates,addStateManager,addSubHState,addSubHStateC,addSubState,isSubstate,removeState,setDefaultStartState" name="keywords">
<title>com.flashsim.FStEng.Three.HStateC</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'HStateC - API Documentation';
				var baseRef = '../../../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">Flash State Engine, version 3.0</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../../../all-classes.html')" href="../../../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../../all-classes.html')" href="../../../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../../index-list.html')" href="../../../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../../../index.html?com/flashsim/FStEng/Three/HStateC.html&amp;com/flashsim/FStEng/Three/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Class&nbsp;HStateC</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#propertySummary">Properties</a>&nbsp;| <a href="#methodSummary">Methods</a>&nbsp;| <a href="#constantSummary">Constants</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Class HStateC"); titleBar_setSubNav(true,true,false,false,false,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">com.flashsim.FStEng.Three</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Class</td><td class="classSignature">public class HStateC</td>
</tr>
<tr>
<td class="classHeaderTableLabel">Inheritance</td><td class="inheritanceList">HStateC <img class="inheritArrow" alt="Inheritance" title="Inheritance" src="../../../../images/inherit-arrow.gif"> <a href="State.html">State</a> <img class="inheritArrow" alt="Inheritance" title="Inheritance" src="../../../../images/inherit-arrow.gif"> flash.events.EventDispatcher</td>
</tr>
<tr>
<td class="classHeaderTableLabel">Subclasses</td><td><a href="../Three/HState.html">HState</a></td>
</tr>
</table>
<p></p>
   A hierarchical state with concurrency.
   <p>A hierarchical state with concurrency is a state that has multiple sub-networks of states, each operating in parallel.
   Each sub-network has a State Manager to keep track of the current and last states for that sub-network.  Most of the time,
   engines will use HState's, which are hierarchical states with a single sub-network of states.  From an implementation point
   of view, however, HState's are specializations of HStateC's, namely a hierarchical state with concurrency but only a single
   sub-network (so no real concurrency, then).
   <p></p>
<p>
<span class="classHeaderTableLabel">See also</span>
</p>
<div class="seeAlso">
<a href="StateEngine.html" target="">StateEngine definition examples.</a>
</div>
<br>
<hr>
</div>
<a name="propertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Properties</div>
<div class="showHideLinks">
<div class="hideInheritedProperty" id="hideInheritedProperty">
<a onclick="javascript:setInheritedVisible(false,'Property');" href="#propertySummary" class="showHideLink"><img src="../../../../images/expanded.gif" class="showHideLinkImage"> Hide Inherited Public Properties</a>
</div>
<div class="showInheritedProperty" id="showInheritedProperty">
<a onclick="javascript:setInheritedVisible(true,'Property');" href="#propertySummary" class="showHideLink"><img src="../../../../images/collapsed.gif" class="showHideLinkImage"> Show Inherited Public Properties</a>
</div>
</div>
<table id="summaryTableProperty" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="hideInheritedProperty">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol"><a class="signatureLink" href="State.html#handledEvYet">handledEvYet</a> : Boolean<div class="summaryTableDescription">
   Boolean flag used to determine if the State has handled the current event.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedProperty">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol"><a class="signatureLink" href="State.html#id">id</a> : String<div class="summaryTableDescription">
   String identifier for the state.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedProperty">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol"><a class="signatureLink" href="State.html#myStMgr">myStMgr</a> : <a href="../Three/StateManager.html">StateManager</a>
<div class="summaryTableDescription">
   Pointer to this State's State Manager instance.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedProperty">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol"><a class="signatureLink" href="State.html#name">name</a> : String<div class="summaryTableDescription">
   An optional name for the State to give to the State Manager, used for display purposes only.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#numStMgrs">numStMgrs</a> : uint<div class="summaryTableDescription">
   Number of state managers (i.e., sub-networks) within this state.</div>
</td><td class="summaryTableOwnerCol">HStateC</td>
</tr>
<tr class="hideInheritedProperty">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol"><a class="signatureLink" href="State.html#pulseActivities">pulseActivities</a> : Array<div class="summaryTableDescription">
   An array containing the pulse activities (<code>PulseActivity</code>) for this state.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedProperty">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol"><a class="signatureLink" href="State.html#_se">_se</a> : <a href="../Three/StateEngine.html">StateEngine</a>
<div class="summaryTableDescription">
   Pointer to the State Engine instance.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#stMgrs">stMgrs</a> : Object<div class="summaryTableDescription">
   An object that holds a hash table (indexed by State Manager id's) to the State Managers for this state.</div>
</td><td class="summaryTableOwnerCol">HStateC</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#substates">substates</a> : Object<div class="summaryTableDescription">
   Collection of children states.</div>
</td><td class="summaryTableOwnerCol">HStateC</td>
</tr>
<tr class="hideInheritedProperty">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol"><a class="signatureLink" href="State.html#transitions">transitions</a> : Object<div class="summaryTableDescription">
   An Object, keyed by target state id, that contains all the transitions for this State.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
</table>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<div class="showHideLinks">
<div class="hideInheritedMethod" id="hideInheritedMethod">
<a onclick="javascript:setInheritedVisible(false,'Method');" href="#methodSummary" class="showHideLink"><img src="../../../../images/expanded.gif" class="showHideLinkImage"> Hide Inherited Public Methods</a>
</div>
<div class="showInheritedMethod" id="showInheritedMethod">
<a onclick="javascript:setInheritedVisible(true,'Method');" href="#methodSummary" class="showHideLink"><img src="../../../../images/collapsed.gif" class="showHideLinkImage"> Show Inherited Public Methods</a>
</div>
</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#HStateC()">HStateC</a>(identifier:*, msm:<a href="StateManager.html">StateManager</a> = null, nm:String = null)</div>
<div class="summaryTableDescription">
   Create a new hierarchical state with more than one sub-network.</div>
</td><td class="summaryTableOwnerCol">HStateC</td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#addPulseActivity()">addPulseActivity</a>(intvl:uint, cb:Function, fb:Boolean = false):<a href="../Three/PulseActivity.html">PulseActivity</a>
</div>
<div class="summaryTableDescription">
  Use this method to add an activity to the state that fires at a specified interval.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#addStateManager()">addStateManager</a>(sm:<a href="StateManager.html">StateManager</a>):void</div>
<div class="summaryTableDescription">
   Adds the specified state manager (StateManager) to this state.</div>
</td><td class="summaryTableOwnerCol">HStateC</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#addSubHState()">addSubHState</a>(sid:String, mgr:<a href="StateManager.html">StateManager</a> = null, name:String = null):<a href="../Three/HState.html">HState</a>
</div>
<div class="summaryTableDescription">
   Given an identifier, create a new sub-state that is a hierarchical state (HState).</div>
</td><td class="summaryTableOwnerCol">HStateC</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#addSubHStateC()">addSubHStateC</a>(sid:String, mgr:<a href="StateManager.html">StateManager</a> = null, name:String = null):<a href="../Three/HStateC.html">HStateC</a>
</div>
<div class="summaryTableDescription">
   Given an identifier, create a new sub-state that is a concurrent, hierarchical state (HStateC).</div>
</td><td class="summaryTableOwnerCol">HStateC</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#addSubState()">addSubState</a>(sid:String, mgr:<a href="StateManager.html">StateManager</a> = null, name:String = null):<a href="../Three/State.html">State</a>
</div>
<div class="summaryTableDescription">
   Given an identifier, create a new sub-state that is a simple state (State).</div>
</td><td class="summaryTableOwnerCol">HStateC</td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#addTransitionExternal()">addTransitionExternal</a>(tEvtName:String, targetStateID:String, transFn:Function = null, ulfxt:uint = 1):<a href="../Three/Transition.html">Transition</a>
</div>
<div class="summaryTableDescription">
   Add an 'external' transition, i.e., from this State to a target state.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#addTransitionToHistory()">addTransitionToHistory</a>(tEvtName:String, targetStateID:String, transFn:Function = null):<a href="../Three/Transition.html">Transition</a>
</div>
<div class="summaryTableDescription">
   Add a transition from the current state to the history pseudo-state of a state.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#addTransitionToSelf()">addTransitionToSelf</a>(tEvtName:String, transFn:Function = null, ulfst:int = 0):<a href="../Three/Transition.html">Transition</a>
</div>
<div class="summaryTableDescription">
   Add a transition from this State to itself, specifying parents to exit and re-enter.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#addTransitionToTarget()">addTransitionToTarget</a>(tEvtName:String, targetStateID:String, transFn:Function = null):<a href="../Three/Transition.html">Transition</a>
</div>
<div class="summaryTableDescription">
   Add a transition from this State to a target state other than history.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#chgSt()">chgSt</a>(trans:<a href="../Three/Transition.html">Transition</a>, val:* = null):void</div>
<div class="summaryTableDescription">
  <p>Change state using transition trans_i, with an optional value for the
  transition function as a second argument.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#enter()">enter</a>(hist:Boolean = false, specIDs:Array = null):void</div>
<div class="summaryTableDescription">
  Called when the state is entered.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#isActive()">isActive</a>():Boolean</div>
<div class="summaryTableDescription">
  convenience function.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#isSubstate()">isSubstate</a>(st:<a href="State.html">State</a>):Boolean</div>
<div class="summaryTableDescription">
   isSubstate allows the caller to ask if a state is a substate of the state being called.</div>
</td><td class="summaryTableOwnerCol">HStateC</td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#leave()">leave</a>():void</div>
<div class="summaryTableDescription">
  Called when the state is exited (deactivated).</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#onEvent()">onEvent</a>(ev:Event, handledYet:Boolean):Boolean</div>
<div class="summaryTableDescription">
  <p>This is a new feature of FStEng v1.5, which provides an easy way to direct and process
  events.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#registerSubStates()">registerSubStates</a>(stateEng:<a href="../Three/StateEngine.html">StateEngine</a>):void</div>
<div class="summaryTableDescription">
  Goes through substates to register them with the state engine.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#removePulseActivity()">removePulseActivity</a>(pa:<a href="../Three/PulseActivity.html">PulseActivity</a>):void</div>
<div class="summaryTableDescription">
  Removes the specified pulse activity from the state.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#removeState()">removeState</a>():void</div>
<div class="summaryTableDescription">
   Deletes memory associated with this state.</div>
</td><td class="summaryTableOwnerCol">HStateC</td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#removeTransition()">removeTransition</a>(trans:<a href="../Three/Transition.html">Transition</a>):void</div>
<div class="summaryTableDescription">
   Remove the given transition from this State.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedMethod">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="State.html#resetHistory()">resetHistory</a>():void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#setDefaultStartState()">setDefaultStartState</a>(id:String, mgr:<a href="StateManager.html">StateManager</a> = null):void</div>
<div class="summaryTableDescription">
   Allows the developer to specify the default start state for a given sub-network.</div>
</td><td class="summaryTableOwnerCol">HStateC</td>
</tr>
</table>
</div>
<a name="constantSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Constants</div>
<div class="showHideLinks">
<div class="hideInheritedConstant" id="hideInheritedConstant">
<a onclick="javascript:setInheritedVisible(false,'Constant');" href="#constantSummary" class="showHideLink"><img src="../../../../images/expanded.gif" class="showHideLinkImage"> Hide Inherited Public Constants</a>
</div>
<div class="showInheritedConstant" id="showInheritedConstant">
<a onclick="javascript:setInheritedVisible(true,'Constant');" href="#constantSummary" class="showHideLink"><img src="../../../../images/collapsed.gif" class="showHideLinkImage"> Show Inherited Public Constants</a>
</div>
</div>
<table id="summaryTableConstant" class="summaryTable hideInheritedConstant" cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Constant</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="hideInheritedConstant">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol"><a class="signatureLink" href="State.html#ENTRY">ENTRY</a> : String = "ENTRY"<div class="summaryTableDescription">[static]
   Event generated on entry to a state.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
<tr class="hideInheritedConstant">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol"><a class="signatureLink" href="State.html#LEAVE">LEAVE</a> : String = "LEAVE"<div class="summaryTableDescription">[static]
   Event generated when the state is no longer active.</div>
</td><td class="summaryTableOwnerCol"><a href="State.html">State</a></td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="propertyDetail"></a>
<div class="detailSectionHeader">Property detail</div>
<a name="numStMgrs"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">numStMgrs</td><td class="detailHeaderType">property</td>
</tr>
</table>
<div class="detailBody">
<code>public var numStMgrs:uint</code><p>
   Number of state managers (i.e., sub-networks) within this state.
   </p></div>
<a name="stMgrs"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">stMgrs</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public var stMgrs:Object</code><p>
   An object that holds a hash table (indexed by State Manager id's) to the State Managers for this state.
   </p></div>
<a name="substates"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">substates</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public var substates:Object</code><p>
   Collection of children states.
   An object that holds a hash table (indexed by state id's) to the children of this state.  Grandchildren (if there are
   any) are stored in the children's states, not here.
   </p></div>
<a name="constructorDetail"></a>
<div class="detailSectionHeader">Constructor detail</div>
<a name="HStateC()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">HStateC</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">constructor</td>
</tr>
</table>
<div class="detailBody">
<code>public function HStateC(identifier:*, msm:<a href="StateManager.html">StateManager</a> = null, nm:String = null)</code><p>
   Create a new hierarchical state with more than one sub-network.
   </p><p>The State Manager distinguishes states it controls via unique state identifiers (for that network). The identifer
   must be unique among all states in the State Engine.</p>
   <p>When you create an HStateC or an HState, you must also create state managers (StateManager).  When you create a StateManager, you
   specify the hierarchical state which it manages.  Therefore, for HStateC's, you will create several StateManager's and hook them up
   to the same (container) state.  For HState's, you will only need to create one (1) StateManager.</p>
   
   <span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">identifier</span>:*</code> &mdash;  State identifier (id).  Must be unique among all states in the state engine.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">msm</span>:<a href="StateManager.html">StateManager</a></code> (default = <code>null</code>)<code></code> &mdash;   Pointer to the StateManager in the network that this HStateC belongs.  Pass in the parent
   state, not the StateManager that will control this state's sub-network.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">nm</span>:String</code> (default = <code>null</code>)<code></code> &mdash;    Display name of the State.  If null (not supplied), routines use the id for the display name.
   </td>
</tr>
</table>
</div>
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="addStateManager()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">addStateManager</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>public function addStateManager(sm:<a href="StateManager.html">StateManager</a>):void</code><p>
   Adds the specified state manager (StateManager) to this state.
   </p><p>The State Manager keeps track of the active state within a sub-network.  Once you have created a new instance of
   a StateManager, you pass that instance pointer into this routine.
   State manager id's must be unique among sibling managers.  By convention, state manager id's are alphabetic, though
   in this implementation, we make identifiers as Strings.</p>
   <span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">sm</span>:<a href="StateManager.html">StateManager</a></code></td>
</tr>
</table>
</div>
<a name="addSubHState()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">addSubHState</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function addSubHState(sid:String, mgr:<a href="StateManager.html">StateManager</a> = null, name:String = null):<a href="../Three/HState.html">HState</a></code><p>
   Given an identifier, create a new sub-state that is a hierarchical state (HState).
   </p><p>If a manager has already been declared, use it.  Otherwise, create a new manager.  If we create a new manager,
   the developer must use <code>setDefaultStartState</code> to initialize the default start state.</p>
   <span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">sid</span>:String</code> &mdash; state identifier for the sub-state
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">mgr</span>:<a href="StateManager.html">StateManager</a></code> (default = <code>null</code>)<code></code> &mdash; Manager for the sub-state's network.  We set it as optional so HState users don't need to provide it, but for sub-networks of HStateC's, it is required.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">name</span>:String</code> (default = <code>null</code>)<code></code> &mdash; Optional display name for the state.  If not provided, we use the state id.
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../Three/HState.html">HState</a></code></td>
</tr>
</table>
</div>
<a name="addSubHStateC()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">addSubHStateC</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function addSubHStateC(sid:String, mgr:<a href="StateManager.html">StateManager</a> = null, name:String = null):<a href="../Three/HStateC.html">HStateC</a></code><p>
   Given an identifier, create a new sub-state that is a concurrent, hierarchical state (HStateC).
   </p><p>If a manager has already been declared, use it.  Otherwise, create a new manager.  If we create a new manager,
   the developer must use <code>setDefaultStartState</code> to initialize the default start state.</p>
   <span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">sid</span>:String</code> &mdash; state identifier for the sub-state
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">mgr</span>:<a href="StateManager.html">StateManager</a></code> (default = <code>null</code>)<code></code> &mdash; Manager for the sub-state's network.  We set it as optional so HState users don't need to provide it, but for sub-networks of HStateC's, it is required.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">name</span>:String</code> (default = <code>null</code>)<code></code> &mdash; Optional display name for the state.  If not provided, we use the state id.
   
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../Three/HStateC.html">HStateC</a></code></td>
</tr>
</table>
</div>
<a name="addSubState()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">addSubState</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function addSubState(sid:String, mgr:<a href="StateManager.html">StateManager</a> = null, name:String = null):<a href="../Three/State.html">State</a></code><p>
   Given an identifier, create a new sub-state that is a simple state (State).
   </p><p>If a manager has already been declared, use it.  Otherwise, create a new manager.  If we create a new manager,
   the developer must use <code>setDefaultStartState</code> to initialize the default start state.</p>
   <span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">sid</span>:String</code> &mdash; state identifier for the sub-state
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">mgr</span>:<a href="StateManager.html">StateManager</a></code> (default = <code>null</code>)<code></code> &mdash; Manager for the sub-state's network.  We set it as optional so HState users don't need to provide it, but for sub-networks of HStateC's, it is required.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">name</span>:String</code> (default = <code>null</code>)<code></code> &mdash; Optional display name for the state.  If not provided, we use the state id.
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../Three/State.html">State</a></code></td>
</tr>
</table>
</div>
<a name="isSubstate()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">isSubstate</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public override function isSubstate(st:<a href="State.html">State</a>):Boolean</code><p>
   isSubstate allows the caller to ask if a state is a substate of the state being called. It returns true if it
   is a substate, false if it is not.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">st</span>:<a href="State.html">State</a></code></td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Boolean</code></td>
</tr>
</table>
</div>
<a name="removeState()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">removeState</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public override function removeState():void</code><p>
   Deletes memory associated with this state.
   </p></div>
<a name="setDefaultStartState()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">setDefaultStartState</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function setDefaultStartState(id:String, mgr:<a href="StateManager.html">StateManager</a> = null):void</code><p>
   Allows the developer to specify the default start state for a given sub-network.
   </p><p>The default start state is specified in the State Manager.  This routine lets the developer
   specify the start state for this manager.  The same can be done in the StateManager constructor,
   but this may be a more convenient way to do it.</p>
   <p>Ordinarily, we could retrieve the manager from the state id alone, but the developer may not have created the state yet.</p>
   <span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">id</span>:String</code> &mdash; String identifier for the state
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">mgr</span>:<a href="StateManager.html">StateManager</a></code> (default = <code>null</code>)<code></code> &mdash; Parameter specifying the manager of the sub-state.  It is declared as optional so that HState (a child class) does not have to require the manager.  For HStateC's, you need to specify which manager is managing the state to make default start.
   </td>
</tr>
</table>
</div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright"> 
</center>
</div>
</body>
</html>
<!-- -->
